<?php
/**
 * @package   auto_occasion
 * @subpackage 
 * @author    CMS
 * @copyright 2011
 * @license    All rights reserved
 */


/**
 * Classe permettant de lister / supprimer / initialiser / charger par id en prenant en paramètre le dao
 *actus
 */
class common {

    /**
     * Vérifie si c'est isset sinon return vide
     * @param $var
     */
    public static function is_isset ($var) {

        return  (isset($var)) ? $var : "";
    }
    /**
     * Récupère un lien http
     * @param $url
     */
    public static function getUrl ($url) {
        $path = $_SERVER['SERVER_NAME'] . jUrl::get($url);
        //$path = str_replace('//', '/', $path);

        return  'http://' . $path;
    }

     /**
     * Lecture du xml pour la modification des keywords, desc, et title
     * @param $path : pathfor the xml file
     * 
     * @return object
     **/
     public static function readXml ($path) {

            //ajout informations dans la balise head : statique depuis xml
			$data			= new stdClass() ;
            if (file_exists(JELIX_APP_WWW_PATH . $path)) {
                $xml        = simplexml_load_file(JELIX_APP_WWW_PATH . $path);
                $title      = $xml->xpath('/root/title');
                $keywords   = $xml->xpath('/root/keywords');
                $desc       = $xml->xpath('/root/description');
                $tHeader	= array(
								"title"     =>  trim((string) $title[0]),
								"keywords"  =>  trim((string) $keywords[0]),
								"desc"      =>  trim((string) $desc[0])
									);
				$data		= (object) $tHeader ;
            }
            

            return $data;
     }


    /**
     * Fonction permettant d'avoir unr liste
     * @param string $dao - nom du dao
     * @param string $module - nom du module
     * @return object $liste
     *
     */
    public static function liste ($dao, $module="commun") {

        // instanciation de la factory
        $maFactory = jDao::get("$module~$dao");
        $records   = $maFactory->findAll();

        return $records->fetchAll();
    }
    

    /**
     * Fonction permettant d'avoir un enregistrement à partir de son id
     * @param $id
     * @param string $dao - nom du dao
     * @param string $module - nom du module
     * @return object
     *
     */
    public static function chargeParId($id, $dao, $module="commun") {
        $maFactory = jDao::get("$module~$dao");

        return $maFactory->get($id);
    }

    /**
     * Fonction permettant de supprimer un enregistrement
     * @param $id
     * @param string $dao - nom du dao
     * @param string $module - nom du module
     * @return object
     *
     */
    public static function supprimer ($id, $dao, $module="commun") {
        $maFactory = jDao::get("$module~$dao");

        return  $maFactory->delete($id);
    }

    /**
     * Fonction permettant d'initialiser un objet
     * @param string $dao - nom du dao
     * @param string $module - nom du module
     * @return object
     *
     */
    public static function init ($dao, $module="commun") {
		
        return   jDao::createRecord("$module~$dao");

    }

   

}